A computing device may attempt to allocate computing resources to a container (e.g., an isolated virtual environment) to deploy the container. Examples of the computing resources can include memory, processing power, and network resources. But some or all of the computing resources may not be immediately available for allocation to the container. For example, a computing resource may already be in use, may depend on another computing resource being allocated to the container first, or may otherwise be unavailable for allocation. If a computing resource cannot be immediately allocated to the container, the computing device may implement a backoff process to repeatedly check if the computing resource is available (e.g., is capable of being allocated to the container). For example, the computing device can wait for an initial time-duration, and then check again to see if the computing resource is available. If not, the computing device can repeatedly check at exponentially increasing time intervals to see if the computing resource is available. For example, with each failed attempt, the computing device can double the time interval until the next check. This process can continue until the computing resource becomes available or a maximum time-duration is reached. The initial time-duration, the time interval between checks, and the maximum time-duration can be referred to as backoff parameters.
Often, there are several computing resources that are not immediately available for allocation to the container. So, the computing device can execute the backoff process independently for each computing resource. And the backoff-parameter values for one computing resource will be independent of the backoff-parameter values for another computing resource.